package liecai_class.day01;

import java.util.Arrays;
import java.util.Random;

/**
 * 数组的排序
 * 1.冒泡排序
 *  - 从第一个元素开始, 与后一个元素进行比较, 如果大于下一个元素, 则交换位置, 再与下一个元素比较,
 *    直到最大的元素被放置到最后一位
 * - 重复以上步骤, 确定倒数第2,3,4,...位元素, 最终完成升序排序
 */
public class ArraySort01 {
    public static void main(String[] args) {
        //生成一个随机数组
        Random rd = new Random();
        int[] arr = new int[10];
        for (int i=0;i<arr.length;i++){
            arr[i] = rd.nextInt(100);
        }
        System.out.println(Arrays.toString(arr));
        /*
            冒泡排序
         */
        //控制要进行多少轮才能确定某一位元素的操作
        for(int i=0; i<arr.length-1; i++) {
            //相邻位置比较, 顺序不正确则交换位置, 直到比较完所有未确定位置的元素
            for(int j=0; j<arr.length-1-i; j++){
                //比较第j位和j+1位元素, 若顺序不对就交换位置
                if (arr[j]>arr[j+1]){
                    int temp = arr[j];
                    arr[j] = arr[j+1];
                    arr[j+1] = temp;
                }
            }
        }
        System.out.println(Arrays.toString(arr));


    }
}
